/*
 * Social-network
 */
$(document).ready(function(){
});

function SN_ie6_7_test(){
	return ($.browser.msie && $.browser.version < 8);
}
function SN_get_network() {
	return $("#id_sn_network").val();
}
function SN_set_network(network) {
	$("#id_sn_network").val(network);
}
function SN_login(network) {
	SN_changeIsReg();
	SN_set_network(network);
	if ( network=='vk' ){
		VK.Auth.login(SN_VK_Auth_login)
	}
	if ( network=='fb' ){
		//FB.getLoginStatus(function(response) {
		//	if (response.session) {
		//		SN_FB_Auth_login(response);
		//	} else {
				FB.login(function(response) {
					if (response.session) {
						if (response.perms) {
							SN_FB_Auth_login(response);
						} else {
							//alert('Вы не разрешили нам доступ к вашему аккаунту.');
						}
					} else {
						//alert('Вы не авторизованы в facebook.');
					}
				}, {perms:'email,user_birthday,publish_stream,offline_access'});
		//	}
		//});		
	}
	return false;
}
function SN_VK_Auth_login(response) {
	if ( response.session==null || response.session.user==null || response.session.user.id==null ){
		//alert('Ошибка сервиса авторизации ВКонтакте. Воспользуйтесь авторизацией сайта');
	}else{
		SN_Auth_TF(response.session.user.id, function(data){
			if ( data=='yes' ){
				document.location.href = data.url ? data.url : SN_getUrlRedirect();
			}else{
				VK.Api.call('getProfiles', {uids: response.session.user.id, fields: 'uid, first_name, last_name, nickname, sex, bdate, city, country, photo, photo_medium, photo_big' }, SN_Make_div);
			}
		});
	}
}
function SN_FB_Auth_login(response)
{
	if ( response.session==null || response.session.uid==null ){
		//alert('Ошибка сервиса авторизации ВКонтакте. Воспользуйтесь авторизацией сайта');
	}else{
		SN_Auth_TF(response.session.uid, function(data){
			if ( data=='yes' ){
				document.location.href = data.url ? data.url : SN_getUrlRedirect();
			}else{
				FB.api('/me', SN_Make_div);
			}
		});
	}
}
function SN_Auth_TF(id, f_callback)
{
	if ( !id ) return false;
	// Делаем синхронный запрос
	var result = $.ajax({ type:"post", url:"/common/SN_auth.php", async:false, data:{ action:'SN_check_account',network:SN_get_network(),id:id } }).responseText;
	f_callback(result);
}

function SN_Make_div(data)
{
	var network = SN_get_network();
	if ( network=='vk' ){
		data = data.response[0];
		data.id = data.uid;
		data.nick = data.last_name+' '+data.first_name;
		data.gender = data.sex==2?0:(data.sex==1?1:-1);
		data.link = 'http://vkontakte.ru/id'+data.uid;
	}
	if ( network=='fb' ){
		data.nick = data.last_name+' '+data.first_name;
		data.gender = data.gender=='male'?0:(data.gender=='female'?1:-1);
	}
	//alert(Dump(data));

	var div_txt = '<table class="vk-table" cellpadding="0" cellspacing="0"><tr><td>'+(data.photo==null?'':'<img src="'+data.photo+'" />')+'</td><td class=""><h4>'+Dictionary.translate('lang_sn_profile')+' '+(network=='vk'?Dictionary.translate('lang_sn_vk'):(network=='fb'?Dictionary.translate('lang_sn_fb'):''))+'</h4>'+'<p>'+data.nick+'</p>'+'</td></tr></table>';
	$("#div_sn_auth").html(div_txt);
	$("#id_sn_id").val(data.id);
	$("#id_sn_nick").val(data.nick);
	$("#id_sn_link").val(data.link);
	$("#id_sn_gender").val(data.gender);
	//if ( data.email!=null )
	//	$("#id_sn_login").val(data.email);
	if ( network=='vk' && data.country==1 && data.city!=null )
		VK.Api.call('places.getCityById', {cids: data.city}, function(city){if ( city.response[0].name!=null ) $("#id_sn_city").val(city.response[0].name);});
	$(".close").click();
	$("#link-SNLogin").click();
	
}
function SN_Sumbit_Auth()
{
	var is_reg = $("#id_sn_is_reg_yes").attr('checked')==true ? 'yes' : 'no';
	var login = $("#id_sn_login").val();
	var password = is_reg == 'yes' ? $("#id_sn_password").val() : '';
	var id = $("#id_sn_id").val();
	if ( !is_reg || !login || !id ) return false;
	var network = SN_get_network();
	var obj = {
		action:'SN_link_account',network:network,
		id:id,login:login,password:password,
		gender:$("#id_sn_gender").val(),
		link:$("#id_sn_link").val(),
		nick:$("#id_sn_nick").val(),
		city:$("#id_sn_city").val()
	};
	// Делаем синхронный запрос
	var result = $.ajax({ type:"post", url:"/common/SN_auth.php", async:false, data:obj }).responseText;
	if ( result == 'error1' || result == 'false' ){
		alert(Dictionary.translate('lang_sn_error_log_in_standard_form'))
	}else if ( result == 'error2' ){
		alert(Dictionary.translate('lang_sn_error_for_email_another_vk_account'))
	}else if ( result == 'error21' ){
		alert(Dictionary.translate('lang_sn_error_for_email_existsing_account'))
	}else if ( result == 'error211' ){
		alert(Dictionary.translate('lang_sn_error_invalid_login_or_password'))
	}else if ( result == '' ){
		document.location.href = SN_getUrlRedirect();
	}else{
		document.location.href = result;
	}
	return false;
}
function SN_changeIsReg() {
	if ( $("#id_sn_is_reg_yes").attr('checked') ){
		$("#id_sn_password").attr('disabled',0);
		$("#SN_password").show();
	}else{
		$("#SN_password").hide();
		$("#id_sn_password").attr('disabled',1);
	}
}
function SN_getUrlRedirect() {
	var pos = document.location.href.indexOf('/register/');
	var url = pos != -1 ? document.location.href.substring(0,pos+1)+'profile/index.php' : 'index.php'+document.location.search;
	//var url = '/';
	return url;
}
